home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 351-375 / disk_351 / pdc / libsrc.lzh / LibSrc / StdIO / fgets.c < prev    next >
C/C++ Source or Header  |  1990-04-07  |  1KB  |  42 lines

  1. /*
  2.  * Libraries and headers for PDC release 3.3 (C) 1989 Lionel Hummel.
  3.  * PDC Software Distribution (C) 1989 Lionel Hummel and Paul Petersen.
  4.  * PDC I/O Library (C) 1987 by J.A. Lydiatt.
  5.  *
  6.  * This code is freely redistributable upon the conditions that this 
  7.  * notice remains intact and that modified versions of this file not
  8.  * be included as part of the PDC Software Distribution without the
  9.  * express consent of the copyright holders.  No warrantee of any
  10.  * kind is provided with this code.  For further information, contact:
  11.  *
  12.  *  PDC Software Distribution    Internet:                     BIX:
  13.  *  P.O. Box 4006             or hummel@cs.uiuc.edu            lhummel
  14.  *  Urbana, IL  61801-8801       petersen@uicsrd.csrd.uiuc.edu
  15.  */
  16.  
  17. /* fgets.c
  18.  *
  19.  * fgets(linbuf, maxchars, fp)  -   Reads line from file into buffer
  20.  */
  21.  
  22. #include <stdio.h>
  23.  
  24. char *fgets(linbuf, maxchars, fp)
  25. char *linbuf;
  26. int   maxchars;
  27. FILE *fp;
  28. {
  29.     char c;
  30.     char *s;
  31.  
  32.     for ( s = &linbuf[0]; --maxchars > 0 && (c = getc(fp)) != EOF; ) {
  33.         *s++ = c;
  34.         if ( c == '\n')
  35.             break;
  36.     }
  37.     *s = '\0';
  38.     if ( c == EOF && s == &linbuf[0])
  39.         return NULL;
  40.     return (&linbuf[0]);
  41. }
  42.